# 导入NumPy与逻辑回归模型
import numpy as np
from sklearn.linear_model import LogisticRegression

# 初始化训练集数据
x = np.array([[2, 3], [3, 4], [6, 5], [4, 4], [3, 2], [4, 7],[5, 4], [4, 3], [7, 5], [3, 3], [4, 4], [5, 2]])  # 特征变量：辣椒酱辣度与保质期
y = np.array([[1], [1], [1], [1], [1], [1], [0], [0], [0], [0], [0], [0]])  # 顾客是否购买，1表示购买，0表示不购买

# 初始化测试集
x_test = np.array([[3, 5], [2, 4], [5, 6], [3, 6], [3, 3], [4, 5], [4, 2], [5, 5], [6, 7], [5, 3], [6, 4], [6, 6]])  # 特征变量：辣椒酱辣度与保质期
y_test = np.array([[1], [1], [1], [1], [1], [1], [0], [0], [0], [0], [0], [0]])  # 顾客是否购买，1表示购买，0表示不购买

# 建立模型，训练模型（修正：先创建并训练模型，再评估）
model = LogisticRegression()
model.fit(x, y.ravel())  # ravel()将y转换为一维数组，符合模型输入要求

# 求解逻辑回归方程参数
print("w = ", model.coef_, "b = ", model.intercept_)

# 模型预测准确率评估
r2 = model.score(x_test, y_test)  # 计算模型的预测准确率（对于分类问题，score返回的是准确率）
print("模型预测准确率为：", r2)

#预测甜度3保质期7的新鲜样本
y_pre = model.predict([[3, 7]])
print("预测甜度3保质期7的新鲜样本结果为：", y_pre[0])